/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.dp1.pucp.Produccion.Controlador;

import com.dp1.pucp.Administracion.DAO.RRHHDAO;
import com.dp1.pucp.Modelo.Algoritmos.EmpleadoAlgoritmo;
import com.dp1.pucp.Modelo.Algoritmos.Solucion;
import com.dp1.pucp.Modelo.Clases.Empleado;
import com.dp1.pucp.Modelo.Clases.Empleadoxmaquinasimulacion;
import com.dp1.pucp.Modelo.Clases.Simulacion;
import com.dp1.pucp.Produccion.DAO.ProduccionDAO;
import com.dp1.pucp.Produccion.Vista.DetalleExaminarSimulacionGUI;
import com.dp1.pucp.Simulacion.Controlador.ResultadoAsignacionControlador;
import com.dp1.pucp.Simulacion.DAO.SimulacionDAO;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import javax.swing.table.DefaultTableModel;

/**
 *
 * @author Rodrigo
 */
public class DetalleExaminarSimulacionControlador {
    
    private DetalleExaminarSimulacionGUI vista;
    private Simulacion simulacion;
    private Solucion solucion;
    
    
    public DetalleExaminarSimulacionControlador(DetalleExaminarSimulacionGUI vista, Simulacion simulacion,Solucion solucion){
        
        this.vista=vista;
        this.simulacion=simulacion;
        this.solucion=solucion;
        this.llenarTabla();
        this.vista.addCerrarListener(new cerrarListener());
        
    }
    
    
    
    public void LimpiarDatos(){    
        ((DefaultTableModel) vista.getTabla().getModel()).setRowCount(0); 
    }
    
    private void llenarTabla(){
        SimulacionDAO dao = new SimulacionDAO();
        RRHHDAO daor = new RRHHDAO();
        ArrayList<Empleado> empleados = daor.listarEmpleado();
        ArrayList<EmpleadoAlgoritmo> arreglo=solucion.getAsignados();
        ((DefaultTableModel) vista.getTabla().getModel()).setRowCount(0);
        Empleado emp;
        for (int i=0;i<arreglo.size();i++){
            ((DefaultTableModel) vista.getTabla().getModel()).setRowCount(vista.getTabla().getRowCount()+1);
            emp= dao.buscarEmpleadoConArreglo(arreglo.get(i).getIdempleado(), empleados);
            String nombre = emp.getNombre()+" "+emp.getApPaterno()+" "+emp.getApMaterno();
            vista.getTabla().setValueAt(nombre,i,0);         
            int tipoproducto=arreglo.get(i).getGalletaAsignada().getTipogalleta().getIdTipo();
            String nombreGalleta=new String();
            if (tipoproducto==1) nombreGalleta="Galleta Soda";
            System.out.println("IMPRIMO "+tipoproducto);
            if (tipoproducto==2) nombreGalleta="Galleta Decorada";
            if (tipoproducto==3) nombreGalleta="Galleta Rellena";
            vista.getTabla().setValueAt(nombreGalleta,i,1);
            int tipomaquina = arreglo.get(i).getTipoMaquinaAsignada();
            String nombreTipo=new String();
            if (tipomaquina==1) nombreTipo="Horneado";
            if (tipomaquina==2) nombreTipo="Decorado";
            if (tipomaquina==3) nombreTipo="Rellenado";
            if (tipomaquina==4) nombreTipo="Empaquetado";
            vista.getTabla().setValueAt(nombreTipo,i,2);
            vista.getTabla().setValueAt(arreglo.get(i).getProduccion()[tipomaquina-1],i,3);
            vista.getTabla().setValueAt(arreglo.get(i).getMermas()[tipomaquina-1],i,4);
            String codigo = new String();
            //vista.getTabla().setValueAt(nombre,i,3);
            
        }
        
        
       
        
        
    }
    
    
    class cerrarListener implements ActionListener {
        
        @Override
        public void actionPerformed(ActionEvent e) {
            
            vista.dispose();
            
        }
        
    }
    
}
